Web documents are stored on web servers and are provided to client computers over the Internet upon receipt at the web server of a request for the document in the form of a uniform or universal resource locator (“URL”). The URL specifies the communications protocol by which the information is to be transferred and the Internet address of the host or web server upon which the document is stored. The URL may also specify a directory path and file name for the document. The communications protocol for the web is the hypertext transfer protocol (“HTTP”). Documents or pages stored on web servers and available over the web are generally formatted in a markup language. Markup language web documents contain text and a number of tags which provide instructions as to how the text should be displayed, which text should be hyperlinked to other documents, and where other types of content, including graphics and other images, video and audio segments, application programs or applets, image maps, and icons, should be retrieved from and displayed in the document. One of the most commonly used standardized markup languages is the Hypertext Markup Language (“HTML”), currently available in several versions. Other standardized markup languages include the Standard Generalized Markup Language (“SGML”) and the Extensible Markup Language (“XML”).
Conventionally, web servers receive requests from a client for a particular HTML document. The servers then load the HTML file (e.g., an Application Service Provider (ASP) file) and parse the HTML file for script code. The script code is then interpreted and executed and the results sent back to the requestor, for example, by inserting the results into the loaded HTML file and transmitting the file and results back to the requestor. The problem is that the process of parsing, interpreting and executing the code is both time and resource intensive.
In order for a web server to serve many users at a reasonable rate, the web server must be able to supply the requested HTML pages very quickly and use as little system resources as possible. Web sites that dynamically generate web pages based on state and user input have the challenge of doing this in a scalable manner. The most efficient way to do so is through compiled code running in the same process as the web server. The most obvious place is for the HTML text to be part of the code itself, but this leads to disconnected, hard to read string constants that are difficult to maintain and that require a recompilation of the code whenever a change is made to the HTML text.
Accordingly, there is an unmet need in the art for a system and method that mitigates the above stated deficiencies with traditional HTML servers.